package com.lt.report.bean;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

public class TiOSMS {
    /**
     * 地市4为编码
     */
    private String areaCode;



    /**
     * 短信通知工单流水号
     */
    private Long smsNoticeId;

    /**
     * 月份
     */
    private Long month;

    /**
     * 地州编码
     */
    @NotBlank(message = "eparchyCode 地州编码是空，请确认后重新请求。")
    @Size(max = 4,message = "eparchyCode 请录入4位地州编码")
    private String eparchyCode;

    /**
     * 接入方式编码：营业厅、客服、短信、WEB等接入方式，见参数表。
     */
    @NotBlank(message = "inModeCode 接入方式编码是空，请确认后重新请求。")
    @Size(max = 1,message ="inModeCode 接入方式编码是1位数字" )
    private String inModeCode;

    /**
     * 00－10 预留
     * 11－客户服务
     * 12－客户管理
     * 13－帐务管理
     * 14－产品管理
     * 15－订单管理
     * 16－资源管理
     * 17－合作伙伴管理
     * 18－渠道管理
     * 19－营销管理
     * 20－系统管理
     * 21－系统监控
     * 22－统计分析
     * 23－融合计费
     * 24－帐务处理
     * 25－综合结算
     * 26－综合采集
     * 27－服务开通
     * 28－信用管理
     */
    @NotBlank(message = "smsChannelCode 接入通道编码是空，请确认后重新请求。")
    @Size(max = 2,message ="smsChannelCode 接入通道编码是2位数字" )
    private String smsChannelCode;

    /**
     * 见参数表
     */
    @NotNull(message = "sendObjectCode 是空，请确认后重新请求。")
//    @Size(max = 4,message ="sendObjectCode 字段是4位，已超长" )
    private Long sendObjectCode;

    /**
     * 见参数表
     */
    @NotNull(message = "sendTimeCode 是空，请确认后重新请求。")
//    @Size(max = 4,message ="sendTimeCode 字段是4位，已超长" )
    private Long sendTimeCode;

    /**
     * 发送次数编码
     */
    @NotNull(message = "sendCountCode 是空，请确认后重新请求。默认值1")
//    @Size(max = 4,message ="sendCountCode 字段是4位，已超长" )
    private Long sendCountCode;

    /**
     * 00－手机号码
     * 01－组ID
     * 02－集团ID
     */
    @NotBlank(message = "recvObjectType 是空，请确认后重新请求。")
    @Size(max = 2,message ="recvObjectType 字段是2位，已超长。" )
    private String recvObjectType;

    /**
     * 被叫对象，手机号码，集团ID
     */
    @NotBlank(message = "recvObject 是空，请确认后重新请求。")
    @Size(max = 32,message ="recvObject 字段是32位，已超长。" )
    private String recvObject;

    /**
     * 与被叫对象类型对应 被叫对象类型 为00，ID为USER_ID
     */
    @NotNull(message = "id 是空，请确认后重新请求。")
//    @Size(max = 16,message ="id 字段是16位，已超长。" )
    private Long id;

    /**
     * 参见参数表TD_B_SMSTYPE
     */
    @NotBlank(message = "smsTypeCode 是空，请确认后重新请求。")
    @Size(max = 2,message ="smsTypeCode 字段是2位，已超长。" )
    private String smsTypeCode;

    /**
     * '01－短信催缴
     * 02－短信通知'
     */
    @NotBlank(message = "smsKindCode 是空，请确认后重新请求。")
    @Size(max = 2,message ="smsKindCode 字段是2位，已超长。" )
    private String smsKindCode;

    /**
     * 0－指定内容发送  默认 0
     */
    @NotBlank(message = "noticeContentType 是空，请确认后重新请求。")
    @Size(max = 1,message ="noticeContentType 字段是1位，已超长。" )
    private String noticeContentType;

    /**
     * 短信内容
     */
    @NotBlank(message = "noticeContent 是空，请确认后重新请求。")
    @Size(max = 500,message ="noticeContent 字段是500位，已超长。" )
    private String noticeContent;

    /**
     * 发送次数
     */
//    @Size(max = 8,message ="referedCount 字段是8位，已超长。" )
    private Long referedCount;

    /**
     * 指定发送次数
     */
    @NotNull(message = "forceReferCount 是空，请确认后重新请求。")
//    @Size(max = 8,message ="forceReferCount 字段是8位，已超长。" )
    private Long forceReferCount;

    /**
     * 发送方号码
     */
    @Size(max = 20,message ="forceObject 字段是20位，已超长。" )
    private String forceObject;

    /**
     * 指定起始时间
     */
    private String forceStartTime;

    /**
     * 指定终止时间
     */
    private String forceEndTime;

    /**
     * '短信优先级，越小越高' 默认0
     */
    @NotNull(message = "smsPriority 是空，请确认后重新请求。")
    private Long smsPriority;

    /**
     * 提交时间
     */
    private String referTime;

    /**
     * 提交员工
     */
    private String referStaffId;

    /**
     * 完成时间
     */
    private String referDepartId;

    /**
     * 完成员工
     */
    private String dealTime;

    /**
     * 完成部门
     */
    private String dealStaffid;

    /**
     * 完成部门
     */
    private String dealDepartid;

    /**
     * 0－未处理 默认
     * 1－已处理
     * 2－超时未处理
     * 3－超时已处理（过期标记）
     */
    @NotBlank(message = "dealState 是空，请确认后重新请求。")
    @Size(max = 1,message ="dealState 字段是1位，已超长。" )
    private String dealState;

    /**
     * 备注
     */
    private String remark;

    /**
     * null
     */
    private String revc1;

    /**
     * null
     */
    private String revc2;

    /**
     * null
     */
    private String revc3;

    /**
     * null
     */
    private String revc4;

    /**
     * null
     */
    private String smsSendObject;

    public String getAreaCode() {
        return areaCode;
    }

    public void setAreaCode(String areaCode) {
        this.areaCode = areaCode;
    }

    public Long getSmsNoticeId() {
        return smsNoticeId;
    }

    public void setSmsNoticeId(Long smsNoticeId) {
        this.smsNoticeId = smsNoticeId;
    }

    public Long getMonth() {
        return month;
    }

    public void setMonth(Long month) {
        this.month = month;
    }

    public String getEparchyCode() {
        return eparchyCode;
    }

    public void setEparchyCode(String eparchyCode) {
        this.eparchyCode = eparchyCode;
    }

    public String getInModeCode() {
        return inModeCode;
    }

    public void setInModeCode(String inModeCode) {
        this.inModeCode = inModeCode;
    }

    public String getSmsChannelCode() {
        return smsChannelCode;
    }

    public void setSmsChannelCode(String smsChannelCode) {
        this.smsChannelCode = smsChannelCode;
    }

    public Long getSendObjectCode() {
        return sendObjectCode;
    }

    public void setSendObjectCode(Long sendObjectCode) {
        this.sendObjectCode = sendObjectCode;
    }

    public Long getSendTimeCode() {
        return sendTimeCode;
    }

    public void setSendTimeCode(Long sendTimeCode) {
        this.sendTimeCode = sendTimeCode;
    }

    public Long getSendCountCode() {
        return sendCountCode;
    }

    public void setSendCountCode(Long sendCountCode) {
        this.sendCountCode = sendCountCode;
    }

    public String getRecvObjectType() {
        return recvObjectType;
    }

    public void setRecvObjectType(String recvObjectType) {
        this.recvObjectType = recvObjectType;
    }

    public String getRecvObject() {
        return recvObject;
    }

    public void setRecvObject(String recvObject) {
        this.recvObject = recvObject;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getSmsTypeCode() {
        return smsTypeCode;
    }

    public void setSmsTypeCode(String smsTypeCode) {
        this.smsTypeCode = smsTypeCode;
    }

    public String getSmsKindCode() {
        return smsKindCode;
    }

    public void setSmsKindCode(String smsKindCode) {
        this.smsKindCode = smsKindCode;
    }

    public String getNoticeContentType() {
        return noticeContentType;
    }

    public void setNoticeContentType(String noticeContentType) {
        this.noticeContentType = noticeContentType;
    }

    public String getNoticeContent() {
        return noticeContent;
    }

    public void setNoticeContent(String noticeContent) {
        this.noticeContent = noticeContent;
    }

    public Long getReferedCount() {
        return referedCount;
    }

    public void setReferedCount(Long referedCount) {
        this.referedCount = referedCount;
    }

    public Long getForceReferCount() {
        return forceReferCount;
    }

    public void setForceReferCount(Long forceReferCount) {
        this.forceReferCount = forceReferCount;
    }

    public String getForceObject() {
        return forceObject;
    }

    public void setForceObject(String forceObject) {
        this.forceObject = forceObject;
    }

    public String getForceStartTime() {
        return forceStartTime;
    }

    public void setForceStartTime(String forceStartTime) {
        this.forceStartTime = forceStartTime;
    }

    public String getForceEndTime() {
        return forceEndTime;
    }

    public void setForceEndTime(String forceEndTime) {
        this.forceEndTime = forceEndTime;
    }

    public Long getSmsPriority() {
        return smsPriority;
    }

    public void setSmsPriority(Long smsPriority) {
        this.smsPriority = smsPriority;
    }

    public String getReferTime() {
        return referTime;
    }

    public void setReferTime(String referTime) {
        this.referTime = referTime;
    }

    public String getReferStaffId() {
        return referStaffId;
    }

    public void setReferStaffId(String referStaffId) {
        this.referStaffId = referStaffId;
    }

    public String getReferDepartId() {
        return referDepartId;
    }

    public void setReferDepartId(String referDepartId) {
        this.referDepartId = referDepartId;
    }

    public String getDealTime() {
        return dealTime;
    }

    public void setDealTime(String dealTime) {
        this.dealTime = dealTime;
    }

    public String getDealStaffid() {
        return dealStaffid;
    }

    public void setDealStaffid(String dealStaffid) {
        this.dealStaffid = dealStaffid;
    }

    public String getDealDepartid() {
        return dealDepartid;
    }

    public void setDealDepartid(String dealDepartid) {
        this.dealDepartid = dealDepartid;
    }

    public String getDealState() {
        return dealState;
    }

    public void setDealState(String dealState) {
        this.dealState = dealState;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getRevc1() {
        return revc1;
    }

    public void setRevc1(String revc1) {
        this.revc1 = revc1;
    }

    public String getRevc2() {
        return revc2;
    }

    public void setRevc2(String revc2) {
        this.revc2 = revc2;
    }

    public String getRevc3() {
        return revc3;
    }

    public void setRevc3(String revc3) {
        this.revc3 = revc3;
    }

    public String getRevc4() {
        return revc4;
    }

    public void setRevc4(String revc4) {
        this.revc4 = revc4;
    }

    public String getSmsSendObject() {
        return smsSendObject;
    }

    public void setSmsSendObject(String smsSendObject) {
        this.smsSendObject = smsSendObject;
    }

    @Override
    public String toString() {
        return "TiOSMS{" +
                "smsNoticeId=" + smsNoticeId +
                ", month=" + month +
                ", eparchyCode='" + eparchyCode + '\'' +
                ", inModeCode='" + inModeCode + '\'' +
                ", smsChannelCode='" + smsChannelCode + '\'' +
                ", sendObjectCode=" + sendObjectCode +
                ", sendTimeCode=" + sendTimeCode +
                ", sendCountCode=" + sendCountCode +
                ", recvObjectType='" + recvObjectType + '\'' +
                ", recvObject='" + recvObject + '\'' +
                ", id=" + id +
                ", smsTypeCode='" + smsTypeCode + '\'' +
                ", smsKindCode='" + smsKindCode + '\'' +
                ", noticeContentType='" + noticeContentType + '\'' +
                ", noticeContent='" + noticeContent + '\'' +
                ", referedCount=" + referedCount +
                ", forceReferCount=" + forceReferCount +
                ", forceObject='" + forceObject + '\'' +
                ", forceStartTime=" + forceStartTime +
                ", forceEndTime=" + forceEndTime +
                ", smsPriority=" + smsPriority +
                ", referTime=" + referTime +
                ", referStaffId='" + referStaffId + '\'' +
                ", referDepartId='" + referDepartId + '\'' +
                ", dealTime=" + dealTime +
                ", dealStaffid='" + dealStaffid + '\'' +
                ", dealDepartid='" + dealDepartid + '\'' +
                ", dealState='" + dealState + '\'' +
                ", remark='" + remark + '\'' +
                ", revc1='" + revc1 + '\'' +
                ", revc2='" + revc2 + '\'' +
                ", revc3='" + revc3 + '\'' +
                ", revc4='" + revc4 + '\'' +
                ", smsSendObject='" + smsSendObject + '\'' +
                '}';
    }
}